package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.heima.wemedia.dtos.comment.WmCommentDto;
import com.heima.wemedia.dtos.comment.WmCommentLikeDto;
import com.heima.wemedia.dtos.comment.WmNewsCommentDto;
import com.heima.wemedia.vos.comment.WmCommentDetailsVo;
import com.heima.wemedia.vos.comment.WmCommentVo;

import java.util.List;
import java.util.Map;

public interface WmCommentService {

    /**
     * 查看评论列表
     *
     * @param wmNewsCommentDto 前端dto
     * @return 返回结果
     */
    Page<WmCommentVo> findNewsComments(WmNewsCommentDto wmNewsCommentDto);

    /**
     * 打开或关闭评论
     *
     * @param wmCommentDto 前端dto
     */
    void updateCommentStatus(WmCommentDto wmCommentDto);

    /**
     * 查看文章具体评论和评论回复信息
     *
     * @param wmNewsCommentDto 查询条件dto
     * @return 返回结果
     */
    List<WmCommentDetailsVo> list(WmNewsCommentDto wmNewsCommentDto);

    /**
     * 评论回复
     *
     * @param wmNewsCommentDto 前端dto
     */
    void commentRepay(WmNewsCommentDto wmNewsCommentDto);

    /**
     * 评论点赞
     *
     * @param wmCommentLikeDto 前端dto条件
     * @return 返回结果
     */
    Map<String, Integer> like(WmCommentLikeDto wmCommentLikeDto);

    /**
     * 删除评论
     *
     * @param commentId 评论id
     */
    void delComment(String commentId);

    /**
     * 删除评论回复
     *
     * @param commentRepayId 评论回复id
     */
    void delCommentRepay(String commentRepayId);
}
